-- XSD schema extracted from ITU-T E.115 (05/2008)

<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:simpleType name="E115String"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[ -�]*"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="E115StringUb256"> <xsd:restriction base="E115String"> <xsd:minLength value="1"/> <xsd:maxLength value="256"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="NumericString"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]*"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="SimpleAttribute"> <xsd:restriction base="xsd:boolean"> <xsd:pattern value="true"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="CharacterSubSet"> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="basic"/> <xsd:enumeration value="latin1"/> <xsd:enumeration value="latin-ext"/> <xsd:enumeration value="cyrillic"/> <xsd:enumeration value="greek"/> <xsd:enumeration value="arabic"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="GeographicalType"> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="dms"/> <xsd:enumeration value="dd"/> <xsd:enumeration value="dec"/> </xsd:restriction> </xsd:simpleType> <xsd:attributeGroup name="CoordinateTypeDescription"> <xsd:attribute name="geodeticDatum" type="E115StringUb256" use="required"/> <xsd:attribute name="geographical" type="GeographicalType" use="required"/> </xsd:attributeGroup> <xsd:attributeGroup name="Coordinate"> <xsd:attribute name="latitude" type="E115StringUb256" use="required"/> <xsd:attribute name="longitude" type="E115StringUb256" use="required"/> </xsd:attributeGroup> <xsd:attributeGroup name="CommAddressService"> <xsd:attribute name="fax" type="SimpleAttribute" use="optional"/> <xsd:attribute name="pbx" type="SimpleAttribute" use="optional"/> <xsd:attribute name="txt" type="SimpleAttribute" use="optional"/> <xsd:attribute name="pub" type="SimpleAttribute" use="optional"/> <xsd:attribute name="vid" type="SimpleAttribute" use="optional"/> <xsd:attribute name="pag" type="SimpleAttribute" use="optional"/> <xsd:attribute name="voice" type="SimpleAttribute" use="optional"/> <xsd:attribute name="data" type="SimpleAttribute" use="optional"/> <xsd:attribute name="http" type="SimpleAttribute" use="optional"/> <xsd:attribute name="ftp" type="SimpleAttribute" use="optional"/> <xsd:attribute name="eml" type="SimpleAttribute" use="optional"/> <xsd:attribute name="sms" type="SimpleAttribute" use="optional"/> <xsd:attribute name="mms" type="SimpleAttribute" use="optional"/> <xsd:attribute name="emg" type="SimpleAttribute" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="InquiryCommAddressChar"> <xsd:attribute name="ftn" type="SimpleAttribute" use="optional"/> <xsd:attribute name="mob" type="SimpleAttribute" use="optional"/> <xsd:attribute name="fixed" type="SimpleAttribute" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="ReplyCommAddressChar"> <xsd:attributeGroup ref="InquiryCommAddressChar"/> <xsd:attribute name="prn" type="SimpleAttribute" use="optional"/> <xsd:attribute name="npn" type="SimpleAttribute" use="optional"/> <xsd:attribute name="upn" type="SimpleAttribute" use="optional"/> <xsd:attribute name="old" type="SimpleAttribute" use="optional"/> <xsd:attribute name="adv" type="SimpleAttribute" use="optional"/> <xsd:attribute name="nmk" type="SimpleAttribute" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="Categories"> <xsd:attribute name="business" type="SimpleAttribute" use="optional"/> <xsd:attribute name="residential" type="SimpleAttribute" use="optional"/> <xsd:attribute name="government" type="SimpleAttribute" use="optional"/> </xsd:attributeGroup> <xsd:complexType name="E115Message"> <xsd:choice> <xsd:element name="directoryMessage" type="DirectoryMessage"/> </xsd:choice> </xsd:complexType> <xsd:complexType name="DirectoryMessage"> <xsd:choice> <xsd:element name="inquiry" type="Inquiry"/> <xsd:element name="reply" type="Reply"/> </xsd:choice> </xsd:complexType> <xsd:complexType name="Inquiry"> <xsd:sequence> <xsd:element name="inquiryHeader" type="InquiryHeader"/> <xsd:element name="inquiryData" type="InquiryData"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="InquiryHeader"> <xsd:all> <xsd:element name="acceptedReplyTypes" minOccurs="0"> <xsd:complexType> <xsd:attribute name="provinceList" type="SimpleAttribute" use="optional"/> <xsd:attribute name="localityList" type="SimpleAttribute" use="optional"/> <xsd:attribute name="streetList" type="SimpleAttribute" use="optional"/> <xsd:attribute name="businessCategoryList" type="SimpleAttribute" use="optional"/> </xsd:complexType> </xsd:element> <xsd:element name="inquiryCoordinateType" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CoordinateTypeDescription"/> </xsd:complexType> </xsd:element> <xsd:element name="replyCoordinateType" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CoordinateTypeDescription"/> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="originatingTerminalCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="8"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="dateAndTime" use="optional"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:length value="12"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="messageNumber" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="4"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="countryName" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="2"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="providerCode" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="inquiryCharacterSubset" type="CharacterSubSet" use="optional" default="basic"/> <xsd:attribute name="replyCharacterSubset" type="CharacterSubSet" use="optional" default="latin1"/> <xsd:attribute name="requestedReplyType" use="optional" default="subscriberList"> <xsd:simpleType> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="subscriberList"/> <xsd:enumeration value="provinceList"/> <xsd:enumeration value="localityList"/> <xsd:enumeration value="streetList"/> <xsd:enumeration value="businessCategoryList"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="InquiryData"> <xsd:all> <xsd:element name="locality" type="E115StringUb256" minOccurs="0"/> <xsd:element name="subscriberName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="streetName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="houseNumber" type="E115StringUb256" minOccurs="0"/> <xsd:element name="forename" type="E115StringUb256" minOccurs="0"/> <xsd:element name="headingInTheGuide" type="E115StringUb256" minOccurs="0"/> <xsd:element name="professionCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="countyStateOrProvince" type="E115StringUb256" minOccurs="0"/> <xsd:element name="category" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Categories"/> </xsd:complexType> </xsd:element> <xsd:element name="postalCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="nationalDestinationCode" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="14"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="commAddress" type="E115StringUb256" minOccurs="0"/> <xsd:element name="commAddressTypes" minOccurs="0"> <xsd:complexType> <xsd:attribute name="e164" type="SimpleAttribute" use="optional"/> <xsd:attribute name="rfc822" type="SimpleAttribute" use="optional"/> <xsd:attribute name="rfc1738" type="SimpleAttribute" use="optional"/> </xsd:complexType> </xsd:element> <xsd:element name="additionalName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="commAddressService" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CommAddressService"/> </xsd:complexType> </xsd:element> <xsd:element name="commAddressChar" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="InquiryCommAddressChar"/> </xsd:complexType> </xsd:element> <xsd:element name="searchCoordinate" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Coordinate"/> </xsd:complexType> </xsd:element> <xsd:element name="searchRadius" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="9"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="matchingRule" minOccurs="0"> <xsd:complexType> <xsd:attribute name="wordRotation" type="xsd:boolean" use="optional"/> <xsd:attribute name="phonetic" type="xsd:boolean" use="optional"/> <xsd:attribute name="alias" type="xsd:boolean" use="optional"/> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="sequenceNumber" use="optional" default="0"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="2"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="geoExpansion" use="optional"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="maxSelectionLevel" type="NumericString" use="optional" default="99"/> </xsd:complexType> <xsd:complexType name="Reply"> <xsd:sequence> <xsd:element name="replyHeader" type="ReplyHeader"/> <xsd:element name="selection" type="Selection" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ReplyHeader"> <xsd:all> <xsd:element name="message" type="E115StringUb256" minOccurs="0"/> <xsd:element name="replyCoordinateType" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CoordinateTypeDescription"/> </xsd:complexType> </xsd:element> <xsd:element name="searchCenter" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Coordinate"/> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="originatingTerminalCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="8"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="dateAndTime" use="optional"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:length value="12"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="messageNumber" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="4"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="messageCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="2"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="dbSelectionCount" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:minLength value="1"/> <xsd:maxLength value="10"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="Selection"> <xsd:all> <xsd:element name="nationalDestinationCode" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="14"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="commAddress" type="E115StringUb256" minOccurs="0"/> <xsd:element name="locality" type="E115StringUb256" minOccurs="0"/> <xsd:element name="subscriberName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="forename" type="E115StringUb256" minOccurs="0"/> <xsd:element name="streetName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="houseNumber" type="E115StringUb256" minOccurs="0"/> <xsd:element name="supplementaryData" type="E115StringUb256" minOccurs="0"/> <xsd:element name="subscriberMessage" type="E115StringUb256" minOccurs="0"/> <xsd:element name="headingInTheGuide" type="E115StringUb256" minOccurs="0"/> <xsd:element name="professionCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="countyStateOrProvince" type="E115StringUb256" minOccurs="0"/> <xsd:element name="subscriberDescription" type="E115StringUb256" minOccurs="0"/> <xsd:element name="category" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Categories"/> </xsd:complexType> </xsd:element> <xsd:element name="countryCode" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="postalCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="commAddressService" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CommAddressService"/> </xsd:complexType> </xsd:element> <xsd:element name="commAddressChar" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="ReplyCommAddressChar"/> </xsd:complexType> </xsd:element> <xsd:element name="distance" type="E115StringUb256" minOccurs="0"/> <xsd:element name="additionalName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="selectionCoordinate" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Coordinate"/> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="commAddressType" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="e164"/> <xsd:enumeration value="rfc822"/> <xsd:enumeration value="rfc1738"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="selectionLevel" use="optional" default="0"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:element name="e115Message" type="E115Message"/> </xsd:schema>